package com.example.sprintboot.entity;

import lombok.Data;
import java.time.LocalDateTime;

/**
 * 微信 Access Token 实体类
 * 用于存储微信 access_token 到数据库
 */
@Data
public class WeChatToken {
    /**
     * 主键ID
     */
    private Integer id;
    
    /**
     * 微信AppID
     */
    private String appid;
    
    /**
     * Access Token
     */
    private String accessToken;
    
    /**
     * 过期时间（秒），例如：7200
     */
    private Integer expiresIn;
    
    /**
     * Token过期时间点（计算出来的具体时间）
     */
    private LocalDateTime expireTime;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
    
    /**
     * 判断token是否已过期
     * @return true-已过期，false-未过期
     */
    public boolean isExpired() {
        if (expireTime == null) {
            return true;
        }
        return LocalDateTime.now().isAfter(expireTime);
    }
}

